{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Sampling parameters for a compact binary" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introduction\n", "\n", "* This notebook is a tutorial on how to use `ler`'s CBCSourceParameterDistribution module to generate a population of compact binaries coalesence (CBC) with its intrinsic and extrinsic parameters.\n", "\n", "* Refer to the [documentation](https://ler.readthedocs.io/en/latest/Unlensed%20events.html) for more details on how CBC parameter priors are used in the calculation of event rates using `ler`.\n", "\n", "* Parameters to sampled, $\\theta \\in$ {$m_1$:mass1, $m_2$:mass2, $D_l$:luminosity-distance, $\\iota$:inclination-angle,
$\\psi$:polarization,\n", "$ra$:right-ascension,$dec$:declination,$\\phi_c$:phase-of-coalescene,$t_c$:time-of-coalescene}.\n", "\n", "* CBCSourceParameterDistribution class inherits from the SourceGalaxyPopulationModel class. SourceGalaxyPopulationModel is used to sample distributions of CBC's source frame redshifts with provided merger rate density evolution model.\n", "\n", "### Default sampling methods for compact binary sources (BBH).\n", "\n", "| Parameter | unit | sampling method | range |\n", "|-----------|------|------------------|----------------|\n", "| $z_s$ | None | merger-rate $R_o^U(z_s)$ | [0,10] |\n", "| $m_1,m_2$ | $\\mathcal{M}_{\\odot}$ | PowerLaw+PEAK model | [$m_{\\text{min}}$,$m_{\\text{max}}$] |\n", "| $ra$ | radian | Uniform | [0,$2\\pi$] |\n", "| $dec$ | radian | cosine | [$-\\pi/2$,$\\pi/2$] |\n", "| $\\iota$ | radian | sine | [0,$\\pi$] |\n", "| $\\psi$ | radian | Uniform | [0,$\\pi$] |\n", "| $\\phi_c$ | radian | Uniform | [0,$2\\pi$] |\n", "| $t_c$ | sec | Uniform | [$t_{\\text{min}}$,$t_{\\text{max}}$] |\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "# calling necessary class from ler package\n", "from ler.gw_source_population import CBCSourceParameterDistribution" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "z_to_luminosity_distance interpolator will be loaded from ./interpolator_pickle/z_to_luminosity_distance/z_to_luminosity_distance_0.pickle\n", "differential_comoving_volume interpolator will be generated at ./interpolator_pickle/differential_comoving_volume/differential_comoving_volume_6.pickle\n", "merger_rate_density_bbh_popI_II_oguri2018 interpolator will be generated at ./interpolator_pickle/merger_rate_density_bbh_popI_II_oguri2018/merger_rate_density_bbh_popI_II_oguri2018_7.pickle\n", "types of priors= dict_keys(['merger_rate_density', 'source_frame_masses', 'zs', 'spin', 'geocent_time', 'ra', 'phase', 'psi', 'theta_jn'])\n", "models of a type= dict_keys(['binary_masses_BBH_popI_II_powerlaw_gaussian', 'binary_masses_BBH_popIII_lognormal', 'binary_masses_BBH_primordial_lognormal', 'binary_masses_BNS_gwcosmo', 'binary_masses_BNS_bimodal'])\n", "parameters of a model= {'mminbh': 4.98, 'mmaxbh': 112.5, 'alpha': 3.78, 'mu_g': 32.27, 'sigma_g': 3.88, 'lambda_peak': 0.03, 'delta_m': 4.8, 'beta': 0.81}\n", "default priors= {'merger_rate_density': 'merger_rate_density_bbh_popI_II_oguri2018', 'source_frame_masses': 'binary_masses_BBH_popI_II_powerlaw_gaussian', 'zs': 'sample_source_redshift', 'geocent_time': 'sampler_uniform', 'ra': CPUDispatcher(. at 0x2ac13c310>), 'dec': CPUDispatcher(. at 0x2ac13c3a0>), 'phase': CPUDispatcher(. at 0x2ac13c550>), 'psi': CPUDispatcher(. at 0x2ac13c700>), 'theta_jn': CPUDispatcher(. at 0x2ac13c8b0>)}\n", "default priors's parameters= {'merger_rate_density': {'R0': 2.5000000000000002e-08, 'b2': 1.6, 'b3': 2.0, 'b4': 30}, 'source_frame_masses': {'mminbh': 4.98, 'mmaxbh': 112.5, 'alpha': 3.78, 'mu_g': 32.27, 'sigma_g': 3.88, 'lambda_peak': 0.03, 'delta_m': 4.8, 'beta': 0.81}, 'zs': None, 'geocent_time': {'min_': 1238166018, 'max_': 1269702018}, 'ra': None, 'dec': None, 'phase': None, 'psi': None, 'theta_jn': None}\n" ] } ], "source": [ "# class initialization\n", "cbc = CBCSourceParameterDistribution()\n", "\n", "# listing the available priors.\n", "priors = cbc.available_prior_list_and_its_params\n", "\n", "# types of priors\n", "print(\"types of priors=\",priors.keys())\n", "\n", "# available models of a type\n", "print(\"models of a type=\",priors['source_frame_masses'].keys())\n", "\n", "# parameters of a model\n", "print(\"parameters of a model=\",priors['source_frame_masses']['binary_masses_BBH_popI_II_powerlaw_gaussian'])\n", "\n", "# default priors\n", "print(\"default priors=\",cbc.gw_param_samplers)\n", "\n", "# default priors's parameters\n", "print(\"default priors's parameters=\",cbc.gw_param_samplers_params)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'sample_source_frame_masses': 'samples mass1 and mass2 of the compact binaries',\n", " 'sample_zs': 'samples source redshifts',\n", " 'sample_geocent_time': 'samples geocent_time',\n", " 'sample_ra': 'samples right ascension of sky position',\n", " 'sample_dec': 'samples declination of sky position',\n", " 'sample_phase': 'samples coalescence phase',\n", " 'sample_psi': 'samples polarization angle',\n", " 'sample_theta_jn': 'samples theta_jn'}" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# available sampler functions (instance attributes)\n", "# the chosen priors will be tied down with the corresponding attribute\n", "# e.g 'binary_masses_BBH_popI_II_powerlaw_gaussian' is the choice then,\n", "# cbc.sample_source_frame_masses will sample from it\n", "# all available sampler attributes are listed below\n", "cbc.sampler_names" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Sampling of parameters\n", "\n", "* cbc.sample_gw_parameters method instance sample all the parameters for a compact binary coalescence.\n", "\n", "* For sampling single parameter, use the respective method instance. e.g. cbc.binary_masses_BBH_popI_II_powerlaw_gaussian(size=1000)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "sampled parameters= ['zs', 'geocent_time', 'ra', 'dec', 'phase', 'psi', 'theta_jn', 'luminosity_distance', 'mass_1_source', 'mass_2_source', 'mass_1', 'mass_2']\n" ] } ], "source": [ "# It sample all the parameters\n", "params = cbc.sample_gw_parameters(size=10000)\n", "# which parameters are sampled?\n", "print(\"sampled parameters=\",list(params.keys()))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([-0.30854608, nan, -0.72186901, ..., -0.70959012,\n", " nan, 0.33584625])" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "params['dec']" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. ]\n" ] } ], "source": [ "# you can put your own sampled parameters\n", "# or you can defined your own sampler which I will show in the next cell\n", "size = 10\n", "params = cbc.sample_gw_parameters(size=size, param=dict(zs=np.linspace(0.1, 1.0, size)))\n", "print(params['zs']) # all other parameters are sampled from default priors " ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sampled redshift values= [0.6651818 0.97285451 0.3135095 0.6759467 0.83463507 0.95009127\n", " 0.26877908 0.63590493 0.40339875 0.8631734 ]\n" ] } ], "source": [ "# defining your own sampler priors.\n", "# note: the input and output of the function should be the following format\n", "def test_zs(size, param=None):\n", " \"\"\" Test for zs sampler\n", "\n", " Parameters\n", " ----------\n", " size: int\n", " Number of samples to be drawn\n", " param: None\n", " dictionary of parameters\n", " \n", " Returns\n", " -------\n", " zs: array_like\n", " Redshifts\n", " \"\"\"\n", " zs = np.random.uniform(0.1, 1.0, size=size)\n", " return zs\n", "\n", "# you can put the sampler when you initialize the class\n", "cbc = CBCSourceParameterDistribution(event_priors={'zs': test_zs}, event_priors_params={'zs': None})\n", "params = cbc.sample_gw_parameters(size=10)\n", "print(\"Sampled redshift values=\",params['zs']) \n" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[0;31mSignature:\u001b[0m \u001b[0mcbc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msample_source_redshifts\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msize\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mparam\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mDocstring:\u001b[0m\n", "Test for zs sampler\n", "\n", "Parameters\n", "----------\n", "size: int\n", " Number of samples to be drawn\n", "param: None\n", " dictionary of parameters\n", " \n", "Returns\n", "-------\n", "zs: array_like\n", " Redshifts\n", "\u001b[0;31mFile:\u001b[0m /var/folders/ws/0948zvwd7g795j2l3fryghjw0000gp/T/ipykernel_32864/3102535209.py\n", "\u001b[0;31mType:\u001b[0m function" ] } ], "source": [ "# its the function which was defined in the previous cell\n", "cbc.sample_source_redshifts?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Available priors and their comparisions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Redshift distribution\n", "\n", "* For detailed explaination, refer Notebook with title 'Merger rate density model comparision.ipynb'." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Compact binary mass distribution of BBHs\n", "\n", "* Default mass distribution model is `powerlaw with a gaussian peak`. Refer to [WIERDA et al. 2021](https://arxiv.org/pdf/2106.06303.pdf) Appendix B1. for more details.\n", "* This model of BBHs is a statistical model that describes the distribution of primary black hole masses in the BBH population. It consists of two components:\n", " * **Power-law component**: This component describes the overall trend of the mass distribution, which is that the number of BBHs with a given primary mass decreases as the mass increases.\n", " * **Gaussian peak component**: This component describes a concentration of BBHs at a particular mass, thought to be due to pulsational pair-instability supernovae (PPISNe).\n", "* The model also includes cut-offs at the minimum and maximum primary black hole masses, which are necessary due to physical limits.\n", "\n", "* For secondary mass distribution, the mass ratio is first sampled from a powerlaw distribution and then the secondary mass is calculated from the sampled mass ratio and primary mass.\n", "\n", "* `ler` follows the 'BBH_powerlaw_gaussian' class implementation of [gwcosmo](https://lscsoft.docs.ligo.org/gwcosmo/).\n", "\n", "* In terms of its fit to the observed data, the POWER-LAW + PEAK model is comparable to other models, such as the broken power law model. However, the POWER-LAW + PEAK model has the advantage of being more physically motivated and more flexible.\n", "\n", "Here is a table comparing the POWER-LAW + PEAK model with other models:\n", "\n", "| Model | Type | Flexibility | Physical motivation | Fit to data |\n", "| ---------------------------- | --------------- | ------------ | -------------------- | ----------- |\n", "| POWER-LAW + PEAK | Semi-parametric | High | Yes | Good |\n", "| Broken power law | Parametric | Medium | No | Good |\n", "| Uniform mass distribution | Parametric | Low | No | Poor |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Sampling" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "z_to_luminosity_distance interpolator will be loaded from ./interpolator_pickle/z_to_luminosity_distance/z_to_luminosity_distance_0.pickle\n", "differential_comoving_volume interpolator will be loaded from ./interpolator_pickle/differential_comoving_volume/differential_comoving_volume_6.pickle\n", "merger_rate_density_bbh_popI_II_oguri2018 interpolator will be loaded from ./interpolator_pickle/merger_rate_density_bbh_popI_II_oguri2018/merger_rate_density_bbh_popI_II_oguri2018_5.pickle\n" ] } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "# calling necessary class from ler package\n", "from ler.gw_source_population import CBCSourceParameterDistribution\n", "\n", "# initializing the class\n", "cbc = CBCSourceParameterDistribution(event_type=\"BBH\")\n", "# sampling the source frame masses\n", "m1_src, m2_src = cbc.sample_source_frame_masses(size=50000)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot histogram of mass_1_source_frame\n", "plt.figure(figsize=(4,4))\n", "plt.hist(m1_src,bins=100, density=True, histtype='step', label='m1')\n", "plt.hist(m2_src,bins=100, density=True, histtype='step', label='m2')\n", "plt.xlabel('mass_source_frame')\n", "plt.ylabel('pdf')\n", "plt.xlim(0, 60)\n", "plt.grid(alpha=0.4)\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### comparing two input parameters\n", "\n", "* This section explain how to input model parameters.\n", "* It can be at the class initialization stage or at the sampling stage.\n", "* params in [WIERDA et al. 2021](https://arxiv.org/pdf/2106.06303.pdf) vs the default params in [gwcosmo](https://lscsoft.docs.ligo.org/gwcosmo/)." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "# Wierda et al. 2021\n", "param1 = dict(mminbh=4.98, mmaxbh=86.22, alpha=2.63, mu_g=33.07, sigma_g=5.69, lambda_peak=0.10, delta_m=4.82, beta=1.26)\n", "# gwcosmo\n", "param2 = dict(mminbh=4.98, mmaxbh=86.22, alpha=2.63, mu_g=33.07, sigma_g=5.69, lambda_peak=0.10, delta_m=4.82, beta=1.26)\n", "\n", "# if it is in class initialization\n", "# cbc = CBCSourceParameterDistribution(event_priors={'source_frame_masses': cbc.source_frame_masses_powerlaw_gaussian}, event_priors_params={'source_frame_masses': param1})\n", "\n", "# sampling\n", "m1_src1, m2_src1 = cbc.sample_source_frame_masses(size=10000, param=param1)\n", "m1_src2, m2_src2 = cbc.sample_source_frame_masses(size=10000, param=param2)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAF3CAYAAAChTuxZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAA9hAAAPYQGoP6dpAABtBklEQVR4nO3de1xUdfrA8c/MwMxwvyoXRVHBu+JdsYtattidas3cVs3MyjQtykp/5mWttbY0Ld1MN6utXF13025GuiSWSt5NTVDwhjduIiDDfeb8/hiYnEAFBM4Az/v1mpdyzvec85wB5uGc8/0+X42iKApCCCFEOa3aAQghhHAskhiEEELYkcQghBDCjiQGIYQQdiQxCCGEsCOJQQghhB1JDEIIIexIYhBCCGFHEoMQQgg7khiEEELYUT0xLFu2jNDQUIxGIwMHDmTXrl3XbL9u3To6d+6M0WikR48ebNy40W59fn4+U6ZMoXXr1ri4uNC1a1eWL19en6cghBBNiqqJYe3atcTExDBnzhz27dtHREQEUVFRZGRkVNl+x44djB49mgkTJrB//36io6OJjo7m8OHDtjYxMTHExsby2WefkZiYyHPPPceUKVP46quvGuq0hBCiUdOoWURv4MCB9O/fn6VLlwJgsVgICQnh2Wef5ZVXXqnUftSoUZhMJr755hvbskGDBtGrVy/bVUH37t0ZNWoUr776qq1N3759ufPOO3nttdeqFZfFYuH8+fN4eHig0Whu5BSFEMIhKIrC5cuXCQ4ORqu9zjWBopLi4mJFp9Mp69evt1s+duxY5b777qtym5CQEOWdd96xWzZ79mylZ8+etq8nTpyo9OvXTzl79qxisViUH374QXF3d1e2bt161ViKioqU3Nxc2+vIkSMKIC95yUteTe515syZ634+O6GSrKwszGYzAQEBdssDAgJISkqqcpu0tLQq26elpdm+fu+993jyySdp3bo1Tk5OaLVaVq5cya233nrVWBYsWMC8efMqLd+yZQvu7u7VPieLxcKlS5fw8fG5fkZ2MBK7OiR2dTTH2PPz8xk2bBgeHh7XbataYqgv7733Hj///DNfffUVbdu25ccff2Ty5MkEBwczfPjwKreZMWMGMTExtq/z8vIICQkhIiICT0/Pah/bbDaTkpJCWFgYOp3uhs+lIUns6pDY1dEcY8/LywOo1u1x1RKD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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# KDE construction\n", "from scipy.stats import gaussian_kde\n", "kde1 = gaussian_kde(m1_src1)\n", "kde2 = gaussian_kde(m1_src2)\n", "\n", "# plot histogram of mass_1_source_frame\n", "plt.figure(figsize=(4,4))\n", "plt.plot(np.linspace(0,60,100), kde1(np.linspace(0,60,100)), label='Wierda')\n", "plt.plot(np.linspace(0,60,100), kde2(np.linspace(0,60,100)), label='gwcosmo')\n", "plt.xlabel('mass_source_frame')\n", "plt.ylabel('pdf')\n", "#plt.xlim(0,60)\n", "plt.legend()\n", "plt.grid(alpha=0.5)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Compact binary mass distribution of BNS\n", "\n", "* The **bimodal mass distribution** of neutron stars in binary systems can be modeled by a double Gaussian distribution, with peaks at around 1.35 M☉ and 1.8 M☉. This model is thought to reflect the different evolutionary paths that neutron stars can take. For more details refer to Refer to [Alsing et al. 2018](https://arxiv.org/pdf/1805.06442.pdf) and Will [M. Farr et al. 2020](https://arxiv.org/pdf/2005.00032.pdf).\n", "\n", "\\begin{equation}\n", "p(m) = wN (\\mu_L, \\sigma_L) + (1 − w)N (\\mu_R, \\sigma_R)\n", "\\nonumber\n", "\\end{equation}\n", "\n", "* $m$: neutron star mass, $w$: fraction of neutron stars in the low-mass peak, $\\mu_L$ and $\\mu_R$ are the mean masses of the low-mass and high-mass peaks, respectively, $\\sigma_L$ and $\\sigma_R$ are the standard deviations of the low-mass and high-mass peaks, respectively.\n", "\n", "* Neutron stars that form from the collapse of massive stars in binary systems can either remain isolated or undergo mass transfer from their companion stars. Neutron stars that remain isolated have a lower mass distribution, with a peak at around 1.35 M☉. This is because the neutron star will start to collapse if it becomes too massive. Neutron stars that undergo mass transfer from their companion stars can have a higher mass distribution, with a peak at around 1.8 M☉. This is because the neutron star can accrete mass from its companion star until it reaches a maximum mass.\n", "\n", "* The parameters of the double Gaussian distribution are as follows:\n", "\n", "| Parameter | Value |\n", "|-------------|------------------|\n", "| $w$ | 0.643 |\n", "| $\\mu_L$ | 1.352 $M_{\\odot}$|\n", "| $\\sigma_L$ | 0.08 $M_{\\odot}$ |\n", "| $\\mu_R$ | 1.88 $M_{\\odot}$ |\n", "| $\\sigma_R$ | 0.3 $M_{\\odot}$ |\n", "\n", "* Note: each normal distribution is independently truncated and normalized in the range [1, 2.3] $M_{\\odot}$. This means that the neutron star masses are not allowed to be less than 1 $M_{\\odot}$ or greater than 2.3 $M_{\\odot}$.\n", "\n", "* This model is a good fit for the observed mass distribution of neutron stars in binary systems.\n", "\n", "* Note: Both primary and secondary masses are sampled from the same distribution, but the value is exchanged if the secondary mass is greater than the primary mass." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "z_to_luminosity_distance interpolator will be loaded from ./interpolator_pickle/z_to_luminosity_distance/z_to_luminosity_distance_0.pickle\n", "differential_comoving_volume interpolator will be loaded from ./interpolator_pickle/differential_comoving_volume/differential_comoving_volume_6.pickle\n", "merger_rate_density_bbh_popI_II_oguri2018 interpolator will be loaded from ./interpolator_pickle/merger_rate_density_bbh_popI_II_oguri2018/merger_rate_density_bbh_popI_II_oguri2018_9.pickle\n", "binary_masses_BNS_bimodal interpolator will be loaded from ./interpolator_pickle/binary_masses_BNS_bimodal/binary_masses_BNS_bimodal_0.pickle\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "# calling necessary class from ler package\n", "from ler.gw_source_population import CBCSourceParameterDistribution\n", "\n", "# initializing the class\n", "cbc = CBCSourceParameterDistribution(event_type=\"BNS\")\n", "\n", "# mass_1_source_frame and mass_2_source_frame\n", "m1_src, m2_src = cbc.sample_source_frame_masses(size=50000)\n", "\n", "# plot histogram of mass_1_source_frame, mass_2_source_frame\n", "plt.figure(figsize=(4,4))\n", "plt.hist(m1_src,bins=100, density=True, histtype='step', label='m1')\n", "plt.hist(m2_src,bins=100, density=True, histtype='step', label='m2')\n", "plt.xlabel('mass_source_frame')\n", "plt.ylabel('pdf')\n", "plt.xlim(1,2.5)\n", "plt.grid(alpha=0.4)\n", "plt.legend()\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Comparing with other BNS models from `gwcosmo`\n", "\n", "* `gwcosmo` employs a distribution of the mass with a truncated power law with slope\n", "$-\\alpha$ between a minimum mass $m_{min}$ and a maximum mass $m_{max}$. Refer to section 4.2 and eq. A10 in 2111.03604 for more details.\n", "\n", "* Note: Both primary and secondary masses are sampled from the same distribution, but the value is exchanged if the secondary mass is greater than the primary mass.\n", "\n", "* Diffrent distribution can lead to different event rates. Refer to the notebook 'BNS event rate comparision.ipynb' for more details." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# mass_1_source_frame and mass_2_source_frame\n", "m1_src1, m2_src1 = cbc.binary_masses_BNS_bimodal(size=10000)\n", "m1_src2, m2_src2 = cbc.binary_masses_BNS_popI_II_gwcosmo(size=10000)\n", "\n", "# plot histogram of mass_1_source_frame, mass_2_source_frame\n", "plt.figure(figsize=(4,4))\n", "plt.hist(m1_src1,bins=30, density=True, histtype='step', label='m1 (bimodal)', alpha=0.5)\n", "plt.hist(m2_src1,bins=30, density=True, histtype='step', label='m2 (bimodal)', alpha=0.5)\n", "plt.hist(m1_src2,bins=30, density=True, histtype='step', label='m1 (powerlaw)', alpha=0.5)\n", "plt.hist(m2_src2,bins=30, density=True, histtype='step', label='m2 (powerlaw)', alpha=0.5)\n", "plt.xlabel(r'mass (source frame) $M_{\\odot}$')\n", "plt.ylabel('pdf')\n", "plt.title('Mass distribution of BNS')\n", "plt.xlim(1,2.5)\n", "plt.grid(alpha=0.5)\n", "plt.legend()\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* The power law distribution model is a simpler model than the bimodal distribution model, but it is not as good of a fit to the observed mass distribution of BNS systems. \n", "\n", "* It is important to note that both the bimodal distribution model and the power law distribution model are just models. The true mass distribution of BNS systems may be more complex than either of these models can describe. More data and more sophisticated models are needed to better understand the mass distribution of BNS systems." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### NSBH Binary Mass Distribution: Broken Power-Law Model\n", "\n", "The mass distribution of black holes in neutron star-black hole (NSBH) binary systems can be modeled using a broken power-law distribution. This model is characterized by different power-law (PL) slopes for different mass ranges, with a break at a certain mass value. The parameters of the broken power-law model are as follows:\n", "\n", "- **mminbh:** Minimum mass of the PL component of the black hole mass distribution.\n", "- **mmaxbh:** Maximum mass of the PL component of the black hole mass distribution.\n", "- **alpha_1:** PL slope of the primary mass distribution for masses below the break mass (mbreak).\n", "- **alpha_2:** PL slope for the primary mass distribution for masses above the break mass (mbreak).\n", "- **b:** The fraction of the way between mminbh and mmaxbh at which the primary mass distribution breaks.\n", "- **delta_m:** Range of mass tapering on the lower end of the mass distribution.\n", "- **beta:** Spectral index for the PL of the mass ratio distribution.\n", "\n", "The default values of these parameters are set according to the median values reported in the uniform priors of [LIGO/Virgo Collaboration (arXiv:2111.03604)](https://arxiv.org/pdf/2111.03604.pdf). [LeR](https://ler.readthedocs.io/en/latest/index.html) uses this model through [gwcosmo](https://lscsoft.docs.ligo.org/gwcosmo/).\n", "\n", "Here is the default parameters and resultant distribution:\n", "\n", "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "| Parameter | Default Value |\n", "|-----------|---------------|\n", "| mminbh | 26 |\n", "| mmaxbh | 125 |\n", "| alpha_1 | 6.75 |\n", "| alpha_2 | 6.75 |\n", "| b | 0.5 |\n", "| delta_m | 5 |\n", "| beta | 4 |\n", "\n", "\n", "\n", "![mass_bns](../../docs/_static/nsbh_mass.png)\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "z_to_luminosity_distance interpolator will be loaded from ./interpolator_pickle/z_to_luminosity_distance/z_to_luminosity_distance_0.pickle\n", "differential_comoving_volume interpolator will be loaded from ./interpolator_pickle/differential_comoving_volume/differential_comoving_volume_6.pickle\n", "merger_rate_density_bbh_popI_II_oguri2018 interpolator will be loaded from ./interpolator_pickle/merger_rate_density_bbh_popI_II_oguri2018/merger_rate_density_bbh_popI_II_oguri2018_8.pickle\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "# calling necessary class from ler package\n", "from ler.gw_source_population import CBCSourceParameterDistribution\n", "# initializing the class\n", "cbc = CBCSourceParameterDistribution(event_type=\"NSBH\")\n", "\n", "# mass_1_source_frame and mass_2_source_frame\n", "m1_src, m2_src = cbc.sample_source_frame_masses(size=50000)\n", "\n", "# plot histogram of mass_1_source_frame, mass_2_source_frame\n", "plt.figure(figsize=(4,4))\n", "plt.hist(m1_src,bins=30, density=True, histtype='step', label='m1')\n", "plt.hist(m2_src,bins=30, density=True, histtype='step', label='m2')\n", "plt.xlabel('mass_source_frame')\n", "plt.ylabel('pdf')\n", "#plt.xlim(0,60.)\n", "plt.xscale('log')\n", "plt.yscale('log')\n", "plt.grid(alpha=0.4)\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## BBHs mass distribution with different origins (popI/II vs popIII vs primordial black holes)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Primordial origin\n", "\n", "* Take reference to section 2.1 [Ng et al. 2022](https://arxiv.org/pdf/2204.11864.pdf) for more details.\n", "\n", "* In BBH primordial mass distribution, black holes form from radiation-induced overdensities in the early Universe.\n", "\n", "* They exhibit a Poisson spatial distribution, initiating binary black hole formation at high redshifts due to gravitational attraction.\n", "\n", "* The PBH mass distribution follows a lognormal function centered at $M_c$ (not to be confuse with Chirp mass $\\mathcal{M}_c$) with width $\\sigma$.\n", "\n", "\\begin{equation}\n", "\\psi(m|M_c,\\sigma) = \\frac{1}{\\sqrt{2 \\pi} \\sigma m} \\exp\\left(-\\frac{\\log^2(m/M_c)}{2\\sigma^2}\\right)\n", "\\nonumber\n", "\\end{equation}\n", "\n", "* Like the method used in [Ng et al. 2022](https://arxiv.org/pdf/2204.11864.pdf), `ler` neglects the role of accretion. This means that the constraints we set on the PBH abundance based on merger rate estimates are the least stringent, and may be translated to smaller values of $f_{PBH}$ (PBH fraction) if a strong accretion phase is assumed.\n", "\n", "* Assuming a small enough abundance $f_{PBH}<<10^{−3}$ , one can write the PBH mass function as,\n", "\n", "\\begin{equation}\n", "p(m_1, m_2) \\propto (m_1 + m_2)^{-36/37} (m_1 m_2)^{-32/37} \\psi(m_1) \\psi(m_2)\n", "\\nonumber\n", "\\end{equation}\n", "\n", "* m1 and m2 will be sampled from the 2D probability distribution function (PDF) with $[m_{min}, m_{max}]\\in [1,100]$. Its reasonable to assume the set limits as the fraction of PBHs with masses outside this range is negligible.\n", "\n", "* Minimum and maximum mass of PBHs are very uncertain. Ref. [Bernard Carr et al. 2016](https://journals.aps.org/prd/abstract/10.1103/PhysRevD.94.083504).\n", " * **Minimum Mass**: The lower mass limit for PBHs is set by the Hawking radiation process. Black holes that are too light would have evaporated by now. This limit can be as low as ~10^-18 solar masses or even less, but such extremely light PBHs would have evaporated shortly after their formation.\n", " * **Maximum Mass**: The upper mass limit for PBHs is constrained by various cosmological observations like the cosmic microwave background radiation and the large-scale structure of the universe. This could be up to several tens or even hundreds of solar masses, though the exact value is constrained by observational limits." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "# calling necessary class from ler package\n", "from ler.gw_source_population import CBCSourceParameterDistribution\n", "\n", "# initializing the class\n", "cbc = CBCSourceParameterDistribution(event_priors=dict(source_frame_masses= 'binary_masses_BBH_primordial_lognormal'), event_priors_params=dict(source_frame_masses= dict(m_min=1.0, m_max=100.0, Mc=30.0, sigma=0.3)))" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "# sampling\n", "# PBH\n", "m1_PBH, m2_PBH = cbc.sample_source_frame_masses(size=10000)\n", "# BBH popI/II\n", "m1_BBH, m2_BBH = cbc.binary_masses_BBH_popI_II_powerlaw_gaussian(size=10000)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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y5YB0Zs3KRySfhFCsHDhQt566y3+8Y9/MHbs2C7vn3HGGVgsFtauXRs5tnv3bsrKypgzZ068hztiuOiii/jiiy/YunVr5GvmzJlcd911kf/LeeuZc845p1vI9549eygsLARg7Nix5Obmdpm75uZmPvnkk5N67jweT7eNmkwmE7quA1Gct6i48iUnNLfffrtISUkR77//vqioqIh8eTyeSJvvfOc7YsyYMeIf//iH2Lhxo5gzZ46YM2dOAkc9MukcVSWEnLfe2LBhgzCbzeLxxx8Xe/fuFa+++qpwOp3ilVdeibR54oknRGpqqvjjH/8oPv/8c3HllVee9OG4CxYsEKNGjYqE4/7hD38QmZmZ4t577420ica8SeGQ9AvQ49dLL70UaeP1esX/+3//T6SlpQmn0ymuuuoqUVFRkbhBj1COFQ45b73z5z//WUydOlXYbDYxceJE8eKLL3Z5X9d18dBDD4mcnBxhs9nERRddJHbv3p2g0Y4Mmpubxd133y3GjBkj7Ha7GDdunHjggQeE3++PtInGvMn9OCQSiUQyKKSPQyKRSCSDQgqHRCKRSAaFFA6JRCKRDAopHBKJRCIZFFI4JBKJRDIopHBIJBKJZFBI4ZBIJBLJoJDCIZFIJJJBIYVDIpFIJINCCofkhKWuro7s7GwOHjyY6KHEBCEEt912G+np6SiKwtatWxM9pG7827/9G08++WSihyGJMlI4JCcsjz/+OFdeeSVFRUWJHkpMWL16NS+//DJ/+ctfqKioiGysNZJ48MEHefzxxyO7RvbF+eefj6IokT04wgghmD17Noqi8MMf/jBWQ5UMAikckhMSj8fDL3/5S2655ZaEjiMQCMSs73379pGXl8fZZ59Nbm4uZnPXfdliee2BMnXqVMaPH88rr7zSZzshBFu2bKGwsJAvvviiy3u//vWvOXr0KACnn356zMYqGThSOCRD4oILLuDOO+/knnvuIS0tjZycHFasWEFbWxs33XQTbreb4uJi/vrXv0bOWb16Neeeey6pqalkZGRw+eWXs2/fvi79vvnmm0ybNg2Hw0FGRgYXX3wxbW1t/b53LO+88w42m42zzjprwP37/X7uuususrOzsdvtnHvuud22fC0qKmL58uVdjs2YMYMf/OAHkXlZuHAh99xzD5mZmcydOxcwdrT78Y9/THFxMTabjTFjxvD4449H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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# KDE construction\n", "from scipy.stats import gaussian_kde\n", "kde_m1_PBH = gaussian_kde(m1_PBH)\n", "kde_m2_PBH = gaussian_kde(m2_PBH)\n", "kde_m1_BBH = gaussian_kde(m1_BBH)\n", "kde_m2_BBH = gaussian_kde(m2_BBH)\n", "\n", "# plot pdf\n", "plt.figure(figsize=(4,4))\n", "plt.plot(np.linspace(0,80,100), kde_m1_PBH(np.linspace(0,80,100)), label='m1 (PBH)', alpha=0.5)\n", "plt.plot(np.linspace(0,80,100), kde_m2_PBH(np.linspace(0,80,100)), label='m2 (PBH)', alpha=0.5)\n", "plt.plot(np.linspace(0,80,100), kde_m1_BBH(np.linspace(0,80,100)), label='m1 (BBH)', alpha=0.5)\n", "plt.plot(np.linspace(0,80,100), kde_m2_BBH(np.linspace(0,80,100)), label='m2 (BBH)', alpha=0.5)\n", "plt.xlabel(r'mass (source frame) $M_{\\odot}$')\n", "plt.ylabel('pdf')\n", "plt.xlim(1,80)\n", "plt.grid(alpha=0.5)\n", "plt.legend()\n", "plt.show()\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Pop III origin\n", "\n", "- Refer to [Ng et al.](https://ar5iv.labs.arxiv.org/html/2204.11864) for more details. Note that the mass distribution model and model parameters are same as that of primordial black holes. \n", "\n", "- Pop III binary black holes (BBHs) are expected to have a different mass distribution than BBHs with solar metallicity. This is because Pop III stars are more massive and have shorter lifetimes than solar metallicity stars. As a result, Pop III BBHs are expected to have a higher mass fraction of high-mass black holes.\n", "\n", "- **Model Usage:** A phenomenological model is used to estimate the volumetric merger rate density of Pop III BBHs, based on a fit to data from population synthesis studies .\n", "\n", "- **Mass Spectrum Uncertainty:** The mass spectrum of Pop III BBHs is highly uncertain due to the initial conditions of Pop III stars, with the paper assuming an identical mass spectrum for Pop III BBHs and Primordial Black Hole mergers.\n", "\n", "- **High Redshift Merger Dominance:** Mergers of black holes from Pop III stars, along with primordial black hole mergers, are expected to dominate at high redshifts (z ≳ 10), crucial for gravitational-wave detections.\n", "\n", "* Note: If the mass distributions of PBHs and BBHs (popIII) are the same, then we cannot tell them apart based on mass alone. We need to measure redshift to do this. This is a cautious approach, because if their mass is different, then we could use this information to tell them apart and get more accurate measurements.\n" ] } ], "metadata": { "kernelspec": { "display_name": "ler", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" } }, "nbformat": 4, "nbformat_minor": 2 }